#ifndef VECTOR3D_H
#define	VECTOR3D_H
#include "Vector2D.h"

struct Vector3D 
{

	float x, y, z;

	static Vector3D Add(const Vector3D& left, const Vector3D& right);
	static Vector3D Substract(const Vector3D& left, const Vector3D& right);
	static Vector3D Scale(const Vector3D& vect, float scale);
	static float Dot(const Vector3D& left,const Vector3D& right);
	static Vector3D CrossLH(const Vector3D& left,const Vector3D& right);
	static Vector3D CrossRH(const Vector3D& left,const Vector3D& right);
	static void MoveBy(const Vector3D& by, Vector3D& tomove);
	static float Length(const Vector3D& vect);
	static float LengthSq(const Vector3D& vect);
	static bool Normalize(Vector3D& vect);
	static void ScaleBy(Vector3D& vect, float scale);
	static bool Equals(const Vector3D& left, const Vector3D& right);
};

#endif